home *** CD-ROM | disk | FTP | other *** search
/ 3D Games - Real-time Rend…ng & Software Technology / 3D Games - Real-time Rendering & Software Technology.iso / flysdk / lib / glext.h < prev    next >
Encoding:
C/C++ Source or Header  |  1999-11-22  |  31.9 KB  |  629 lines

  1. #ifndef __glext_h_
  2. #define __glext_h_
  3.  
  4. #ifdef __cplusplus
  5. extern "C" {
  6. #endif
  7.  
  8. /*
  9. ** Copyright 1998, 1999, NVIDIA Corporation.
  10. ** All rights Reserved.
  11. **
  12. ** THE INFORMATION CONTAINED HEREIN IS PROPRIETARY AND CONFIDENTIAL TO
  13. ** NVIDIA, CORPORATION.  USE, REPRODUCTION OR DISCLOSURE TO ANY THIRD PARTY
  14. ** IS SUBJECT TO WRITTEN PRE-APPROVAL BY NVIDIA, CORPORATION.
  15. */
  16.  
  17. /* Include <GL/glext.h> after <GL/gl.h> in your source files! */
  18.  
  19. /*************************************************************/
  20.  
  21. /* Extensions */
  22. #define GL_ARB_multitexture                 1
  23. #define GL_EXT_abgr                         1
  24. #ifndef GL_EXT_bgra
  25. #define GL_EXT_bgra                         1
  26. #endif
  27. #define GL_EXT_blend_color                  1
  28. #define GL_EXT_blend_minmax                 1
  29. #define GL_EXT_blend_subtract               1
  30. #define GL_EXT_clip_volume_hint             1
  31. #define GL_EXT_compiled_vertex_array        1
  32. #define GL_EXT_fog_coord                    1
  33. #define GL_EXT_light_max_exponent           1
  34. #define GL_EXT_packed_pixels                1
  35. #ifndef GL_EXT_paletted_texture
  36. #define GL_EXT_paletted_texture             1
  37. #endif
  38. #define GL_EXT_point_parameters             1
  39. #define GL_EXT_rescale_normal               1
  40. #define GL_EXT_secondary_color              1
  41. #define GL_EXT_separate_specular_color      1
  42. #define GL_EXT_shared_texture_palette       1
  43. #define GL_EXT_stencil_wrap                 1
  44. #define GL_EXT_texture_cube_map             1
  45. #define GL_EXT_texture_env_add              1
  46. #define GL_EXT_texture_env_combine          1
  47. #define GL_EXT_texture_filter_anisotropic   1
  48. #define GL_EXT_texture_lod_bias             1
  49. #ifndef GL_EXT_vertex_array
  50. #define GL_EXT_vertex_array                 1
  51. #endif
  52. #define GL_EXT_vertex_weighting             1
  53. #define GL_NV_blend_square                  1
  54. #define GL_NV_fog_distance                  1
  55. #define GL_NV_register_combiners            1
  56. #define GL_NV_texgen_emboss                 1
  57. #define GL_NV_texgen_reflection             1
  58. #define GL_NV_texture_env_combine4          1
  59. #define GL_NV_vertex_array_range            1
  60. #define GL_SGIS_multitexture                1
  61. #define GL_SGIS_texture_lod                 1
  62. #define WGL_EXT_swap_control                1
  63.  
  64. /* EXT_abgr */
  65. #define GL_ABGR_EXT                         0x8000
  66.  
  67. /* EXT_blend_color */
  68. #define GL_CONSTANT_COLOR_EXT               0x8001
  69. #define GL_ONE_MINUS_CONSTANT_COLOR_EXT     0x8002
  70. #define GL_CONSTANT_ALPHA_EXT               0x8003
  71. #define GL_ONE_MINUS_CONSTANT_ALPHA_EXT     0x8004
  72. #define GL_BLEND_COLOR_EXT                  0x8005
  73.  
  74. /* EXT_blend_minmax */
  75. #define GL_FUNC_ADD_EXT                     0x8006
  76. #define GL_MIN_EXT                          0x8007
  77. #define GL_MAX_EXT                          0x8008
  78. #define GL_BLEND_EQUATION_EXT               0x8009
  79.  
  80. /* EXT_blend_subtract */
  81. #define GL_FUNC_SUBTRACT_EXT                0x800A
  82. #define GL_FUNC_REVERSE_SUBTRACT_EXT        0x800B
  83.  
  84. /* EXT_packed_pixels */
  85. #define GL_UNSIGNED_BYTE_3_3_2_EXT          0x8032
  86. #define GL_UNSIGNED_SHORT_4_4_4_4_EXT       0x8033
  87. #define GL_UNSIGNED_SHORT_5_5_5_1_EXT       0x8034
  88. #define GL_UNSIGNED_INT_8_8_8_8_EXT         0x8035
  89. #define GL_UNSIGNED_INT_10_10_10_2_EXT      0x8036
  90.  
  91. /* OpenGL12 */
  92. #ifndef GL_VERSION_1_2
  93. #define GL_RESCALE_NORMAL                   0x803A
  94. #define GL_MAX_ELEMENTS_VERTICES            0x80E8
  95. #define GL_MAX_ELEMENTS_INDICES             0x80E9
  96. #define GL_CLAMP_TO_EDGE                    0x812F
  97. #define GL_TEXTURE_MIN_LOD                  0x813A
  98. #define GL_TEXTURE_MAX_LOD                  0x813B
  99. #define GL_TEXTURE_BASE_LEVEL               0x813C
  100. #define GL_TEXTURE_MAX_LEVEL                0x813D
  101. #define GL_SINGLE_COLOR                     0x81F9
  102. #define GL_SEPARATE_SPECULAR_COLOR          0x81FA
  103. #define GL_LIGHT_MODEL_COLOR_CONTROL        0x81F8
  104. #endif
  105.  
  106. /* ARB_imaging */
  107. #ifndef ARB_imaging
  108. #define GL_CONSTANT_COLOR                   0x8001
  109. #define GL_ONE_MINUS_CONSTANT_COLOR         0x8002
  110. #define GL_CONSTANT_ALPHA                   0x8003
  111. #define GL_ONE_MINUS_CONSTANT_ALPHA         0x8004
  112. #define GL_BLEND_COLOR                      0x8005
  113. #define GL_FUNC_ADD                         0x8006
  114. #define GL_MIN                              0x8007
  115. #define GL_MAX                              0x8008
  116. #define GL_BLEND_EQUATION                   0x8009
  117. #define GL_FUNC_SUBTRACT                    0x800A
  118. #define GL_FUNC_REVERSE_SUBTRACT            0x800B
  119. #endif
  120.  
  121. /* EXT_vertex_array */
  122. #ifndef GL_VERTEX_ARRAY_EXT
  123. #define GL_VERTEX_ARRAY_EXT                 0x8074
  124. #define GL_NORMAL_ARRAY_EXT                 0x8075
  125. #define GL_COLOR_ARRAY_EXT                  0x8076
  126. #define GL_INDEX_ARRAY_EXT                  0x8077
  127. #define GL_TEXTURE_COORD_ARRAY_EXT          0x8078
  128. #define GL_EDGE_FLAG_ARRAY_EXT              0x8079
  129. #define GL_VERTEX_ARRAY_SIZE_EXT            0x807A
  130. #define GL_VERTEX_ARRAY_TYPE_EXT            0x807B
  131. #define GL_VERTEX_ARRAY_STRIDE_EXT          0x807C
  132. #define GL_VERTEX_ARRAY_COUNT_EXT           0x807D
  133. #define GL_NORMAL_ARRAY_TYPE_EXT            0x807E
  134. #define GL_NORMAL_ARRAY_STRIDE_EXT          0x807F
  135. #define GL_NORMAL_ARRAY_COUNT_EXT           0x8080
  136. #define GL_COLOR_ARRAY_SIZE_EXT             0x8081
  137. #define GL_COLOR_ARRAY_TYPE_EXT             0x8082
  138. #define GL_COLOR_ARRAY_STRIDE_EXT           0x8083
  139. #define GL_COLOR_ARRAY_COUNT_EXT            0x8084
  140. #define GL_INDEX_ARRAY_TYPE_EXT             0x8085
  141. #define GL_INDEX_ARRAY_STRIDE_EXT           0x8086
  142. #define GL_INDEX_ARRAY_COUNT_EXT            0x8087
  143. #define GL_TEXTURE_COORD_ARRAY_SIZE_EXT     0x8088
  144. #define GL_TEXTURE_COORD_ARRAY_TYPE_EXT     0x8089
  145. #define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT   0x808A
  146. #define GL_TEXTURE_COORD_ARRAY_COUNT_EXT    0x808B
  147. #define GL_EDGE_FLAG_ARRAY_STRIDE_EXT       0x808C
  148. #define GL_EDGE_FLAG_ARRAY_COUNT_EXT        0x808D
  149. #define GL_VERTEX_ARRAY_POINTER_EXT         0x808E
  150. #define GL_NORMAL_ARRAY_POINTER_EXT         0x808F
  151. #define GL_COLOR_ARRAY_POINTER_EXT          0x8090
  152. #define GL_INDEX_ARRAY_POINTER_EXT          0x8091
  153. #define GL_TEXTURE_COORD_ARRAY_POINTER_EXT  0x8092
  154. #define GL_EDGE_FLAG_ARRAY_POINTER_EXT      0x8093
  155. #endif
  156.  
  157. /* EXT_color_table */
  158. #ifndef GL_COLOR_TABLE_FORMAT_EXT
  159. #define GL_TABLE_TOO_LARGE_EXT              0x8031
  160. #define GL_COLOR_TABLE_FORMAT_EXT           0x80D8
  161. #define GL_COLOR_TABLE_WIDTH_EXT            0x80D9
  162. #define GL_COLOR_TABLE_RED_SIZE_EXT         0x80DA
  163. #define GL_COLOR_TABLE_GREEN_SIZE_EXT       0x80DB
  164. #define GL_COLOR_TABLE_BLUE_SIZE_EXT        0x80DC
  165. #define GL_COLOR_TABLE_ALPHA_SIZE_EXT       0x80DD
  166. #define GL_COLOR_TABLE_LUMINANCE_SIZE_EXT   0x80DE
  167. #define GL_COLOR_TABLE_INTENSITY_SIZE_EXT   0x80DF
  168. #endif
  169.  
  170. /* EXT_bgra */
  171. #ifndef GL_BGR_EXT
  172. #define GL_BGR_EXT                          0x80E0
  173. #define GL_BGRA_EXT                         0x80E1
  174. #endif
  175.  
  176. /* SGIS_texture_lod */
  177. #define GL_TEXTURE_MIN_LOD_SGIS             0x813A
  178. #define GL_TEXTURE_MAX_LOD_SGIS             0x813B
  179. #define GL_TEXTURE_BASE_LEVEL_SGIS          0x813C
  180. #define GL_TEXTURE_MAX_LEVEL_SGIS           0x813D
  181.  
  182. /* EXT_paletted_texture */
  183. #ifndef GL_COLOR_INDEX1_EXT
  184. #define GL_COLOR_INDEX1_EXT                 0x80E2
  185. #define GL_COLOR_INDEX2_EXT                 0x80E3
  186. #define GL_COLOR_INDEX4_EXT                 0x80E4
  187. #define GL_COLOR_INDEX8_EXT                 0x80E5
  188. #define GL_COLOR_INDEX12_EXT                0x80E6
  189. #define GL_COLOR_INDEX16_EXT                0x80E7
  190. #endif
  191.  
  192. /* EXT_clip_volume_hint */
  193. #define GL_CLIP_VOLUME_CLIPPING_HINT_EXT    0x80F0
  194.  
  195. /* EXT_point_parameters */
  196. #define GL_POINT_SIZE_MIN_EXT               0x8126
  197. #define GL_POINT_SIZE_MAX_EXT               0x8127
  198. #define GL_POINT_FADE_THRESHOLD_SIZE_EXT    0x8128
  199. #define GL_DISTANCE_ATTENUATION_EXT         0x8129
  200.  
  201. /* EXT_compiled_vertex_array */
  202. #define GL_ARRAY_ELEMENT_LOCK_FIRST_EXT     0x81A8
  203. #define GL_ARRAY_ELEMENT_LOCK_COUNT_EXT     0x81A9
  204.  
  205. /* EXT_shared_texture_palette */
  206. #define GL_SHARED_TEXTURE_PALETTE_EXT       0x81FB
  207.  
  208. /* SGIS_multitexture */
  209. #define GL_SELECTED_TEXTURE_SGIS            0x835C
  210. #define GL_MAX_TEXTURES_SGIS                0x835D
  211. #define GL_TEXTURE0_SGIS                    0x835E
  212. #define GL_TEXTURE1_SGIS                    0x835F
  213. #define GL_TEXTURE2_SGIS                    0x8360
  214. #define GL_TEXTURE3_SGIS                    0x8361
  215.  
  216. /* ARB_multitexture */
  217. #define GL_ACTIVE_TEXTURE_ARB               0x84E0
  218. #define GL_CLIENT_ACTIVE_TEXTURE_ARB        0x84E1
  219. #define GL_MAX_TEXTURE_UNITS_ARB            0x84E2
  220. #define GL_TEXTURE0_ARB                     0x84C0
  221. #define GL_TEXTURE1_ARB                     0x84C1
  222. #define GL_TEXTURE2_ARB                     0x84C2
  223. #define GL_TEXTURE3_ARB                     0x84C3
  224. #define GL_TEXTURE4_ARB                     0x84C4
  225. #define GL_TEXTURE5_ARB                     0x84C5
  226. #define GL_TEXTURE6_ARB                     0x84C6
  227. #define GL_TEXTURE7_ARB                     0x84C7
  228. #define GL_TEXTURE8_ARB                     0x84C8
  229. #define GL_TEXTURE9_ARB                     0x84C9
  230. #define GL_TEXTURE10_ARB                    0x84CA
  231. #define GL_TEXTURE11_ARB                    0x84CB
  232. #define GL_TEXTURE12_ARB                    0x84CC
  233. #define GL_TEXTURE13_ARB                    0x84CD
  234. #define GL_TEXTURE14_ARB                    0x84CE
  235. #define GL_TEXTURE15_ARB                    0x84CF
  236. #define GL_TEXTURE16_ARB                    0x84D0
  237. #define GL_TEXTURE17_ARB                    0x84D1
  238. #define GL_TEXTURE18_ARB                    0x84D2
  239. #define GL_TEXTURE19_ARB                    0x84D3
  240. #define GL_TEXTURE20_ARB                    0x84D4
  241. #define GL_TEXTURE21_ARB                    0x84D5
  242. #define GL_TEXTURE22_ARB                    0x84D6
  243. #define GL_TEXTURE23_ARB                    0x84D7
  244. #define GL_TEXTURE24_ARB                    0x84D8
  245. #define GL_TEXTURE25_ARB                    0x84D9
  246. #define GL_TEXTURE26_ARB                    0x84DA
  247. #define GL_TEXTURE27_ARB                    0x84DB
  248. #define GL_TEXTURE28_ARB                    0x84DC
  249. #define GL_TEXTURE29_ARB                    0x84DD
  250. #define GL_TEXTURE30_ARB                    0x84DE
  251. #define GL_TEXTURE31_ARB                    0x84DF
  252.  
  253. /* EXT_fog_coord */
  254. #define GL_FOG_COORDINATE_SOURCE_EXT        0x8450
  255. #define GL_FOG_COORDINATE_EXT               0x8451
  256. #define GL_FRAGMENT_DEPTH_EXT               0x8452
  257. #define GL_CURRENT_FOG_COORDINATE_EXT       0x8453
  258. #define GL_FOG_COORDINATE_ARRAY_TYPE_EXT    0x8454
  259. #define GL_FOG_COORDINATE_ARRAY_STRIDE_EXT  0x8455
  260. #define GL_FOG_COORDINATE_ARRAY_POINTER_EXT 0x8456
  261. #define GL_FOG_COORDINATE_ARRAY_EXT         0x8457
  262.  
  263. /* EXT_secondary_color */
  264. #define GL_COLOR_SUM_EXT                    0x8458
  265. #define GL_CURRENT_SECONDARY_COLOR_EXT      0x8459
  266. #define GL_SECONDARY_COLOR_ARRAY_SIZE_EXT   0x845A
  267. #define GL_SECONDARY_COLOR_ARRAY_TYPE_EXT   0x845B
  268. #define GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT 0x845C
  269. #define GL_SECONDARY_COLOR_ARRAY_POINTER_EXT 0x845D
  270. #define GL_SECONDARY_COLOR_ARRAY_EXT        0x845E
  271.  
  272. /* EXT_separate_specular_color */
  273. #define GL_SINGLE_COLOR_EXT                 0x81F9
  274. #define GL_SEPARATE_SPECULAR_COLOR_EXT      0x81FA
  275. #define GL_LIGHT_MODEL_COLOR_CONTROL_EXT    0x81F8
  276.  
  277. /* EXT_rescale_normal */
  278. #define GL_RESCALE_NORMAL_EXT               0x803A
  279.  
  280. /* EXT_stencil_wrap */
  281. #define GL_INCR_WRAP_EXT                    0x8507
  282. #define GL_DECR_WRAP_EXT                    0x8508
  283.  
  284. /* EXT_vertex_weighting */
  285. #define GL_MODELVIEW0_MATRIX_EXT            GL_MODELVIEW_MATRIX
  286. #define GL_MODELVIEW1_MATRIX_EXT            0x8506
  287. #define GL_MODELVIEW0_STACK_DEPTH_EXT       GL_MODELVIEW_STACK_DEPTH
  288. #define GL_MODELVIEW1_STACK_DEPTH_EXT       0x8502
  289. #define GL_VERTEX_WEIGHTING_EXT             0x8509
  290. #define GL_MODELVIEW0_EXT                   GL_MODELVIEW
  291. #define GL_MODELVIEW1_EXT                   0x850A
  292. #define GL_CURRENT_VERTEX_WEIGHT_EXT        0x850B
  293. #define GL_VERTEX_WEIGHT_ARRAY_EXT          0x850C
  294. #define GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT     0x850D
  295. #define GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT     0x850E
  296. #define GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT   0x850F
  297. #define GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT  0x8510
  298.  
  299. /* NV_texgen_reflection */
  300. #define GL_NORMAL_MAP_NV                    0x8511
  301. #define GL_REFLECTION_MAP_NV                0x8512
  302.  
  303. /* EXT_texture_cube_map */
  304. #define GL_NORMAL_MAP_EXT                   0x8511
  305. #define GL_REFLECTION_MAP_EXT               0x8512
  306. #define GL_TEXTURE_CUBE_MAP_EXT             0x8513
  307. #define GL_TEXTURE_BINDING_CUBE_MAP_EXT     0x8514
  308. #define GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT  0x8515
  309. #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT  0x8516
  310. #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT  0x8517
  311. #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT  0x8518
  312. #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT  0x8519
  313. #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT  0x851A
  314. #define GL_PROXY_TEXTURE_CUBE_MAP_EXT       0x851B
  315. #define GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT    0x851C
  316.  
  317. /* NV_vertex_array_range */
  318. #define GL_VERTEX_ARRAY_RANGE_NV            0x851D
  319. #define GL_VERTEX_ARRAY_RANGE_LENGTH_NV     0x851E
  320. #define GL_VERTEX_ARRAY_RANGE_VALID_NV      0x851F
  321. #define GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV 0x8520
  322. #define GL_VERTEX_ARRAY_RANGE_POINTER_NV    0x8521
  323.  
  324. /* NV_register_combiners */
  325. #define GL_REGISTER_COMBINERS_NV            0x8522
  326. #define GL_COMBINER0_NV                     0x8550
  327. #define GL_COMBINER1_NV                     0x8551
  328. #define GL_COMBINER2_NV                     0x8552
  329. #define GL_COMBINER3_NV                     0x8553
  330. #define GL_COMBINER4_NV                     0x8554
  331. #define GL_COMBINER5_NV                     0x8555
  332. #define GL_COMBINER6_NV                     0x8556
  333. #define GL_COMBINER7_NV                     0x8557
  334. #define GL_VARIABLE_A_NV                    0x8523
  335. #define GL_VARIABLE_B_NV                    0x8524
  336. #define GL_VARIABLE_C_NV                    0x8525
  337. #define GL_VARIABLE_D_NV                    0x8526
  338. #define GL_VARIABLE_E_NV                    0x8527
  339. #define GL_VARIABLE_F_NV                    0x8528
  340. #define GL_VARIABLE_G_NV                    0x8529
  341. /*      GL_ZERO */
  342. #define GL_CONSTANT_COLOR0_NV               0x852A
  343. #define GL_CONSTANT_COLOR1_NV               0x852B
  344. /*      GL_FOG */
  345. #define GL_PRIMARY_COLOR_NV                 0x852C
  346. #define GL_SECONDARY_COLOR_NV               0x852D
  347. #define GL_SPARE0_NV                        0x852E
  348. #define GL_SPARE1_NV                        0x852F
  349. /*      GL_TEXTURE0_ARB */
  350. /*      GL_TEXTURE1_ARB */
  351. #define GL_UNSIGNED_IDENTITY_NV             0x8536
  352. #define GL_UNSIGNED_INVERT_NV               0x8537
  353. #define GL_EXPAND_NORMAL_NV                 0x8538
  354. #define GL_EXPAND_NEGATE_NV                 0x8539
  355. #define GL_HALF_BIAS_NORMAL_NV              0x853A
  356. #define GL_HALF_BIAS_NEGATE_NV              0x853B
  357. #define GL_SIGNED_IDENTITY_NV               0x853C
  358. #define GL_SIGNED_NEGATE_NV                 0x853D
  359. #define GL_E_TIMES_F_NV                     0x8531
  360. #define GL_SPARE0_PLUS_SECONDARY_COLOR_NV   0x8532
  361. /*      GL_NONE */
  362. #define GL_SCALE_BY_TWO_NV                  0x853E
  363. #define GL_SCALE_BY_FOUR_NV                 0x853F
  364. #define GL_SCALE_BY_ONE_HALF_NV             0x8540
  365. #define GL_BIAS_BY_NEGATIVE_ONE_HALF_NV     0x8541
  366. #define GL_DISCARD_NV                       0x8530
  367. #define GL_COMBINER_INPUT_NV                0x8542
  368. #define GL_COMBINER_MAPPING_NV              0x8543
  369. #define GL_COMBINER_COMPONENT_USAGE_NV      0x8544
  370. #define GL_COMBINER_AB_DOT_PRODUCT_NV       0x8545
  371. #define GL_COMBINER_CD_DOT_PRODUCT_NV       0x8546
  372. #define GL_COMBINER_MUX_SUM_NV              0x8547
  373. #define GL_COMBINER_SCALE_NV                0x8548
  374. #define GL_COMBINER_BIAS_NV                 0x8549
  375. #define GL_COMBINER_AB_OUTPUT_NV            0x854a
  376. #define GL_COMBINER_CD_OUTPUT_NV            0x854b
  377. #define GL_COMBINER_SUM_OUTPUT_NV           0x854c
  378. #define GL_MAX_GENERAL_COMBINERS_NV         0x854d
  379. #define GL_NUM_GENERAL_COMBINERS_NV         0x854e
  380. #define GL_COLOR_SUM_CLAMP_NV               0x854f
  381.  
  382. /* NV_fog_distance */
  383. #define GL_FOG_DISTANCE_MODE_NV             0x855a
  384. #define GL_EYE_RADIAL_NV                    0x855b
  385. /*      GL_EYE_PLANE */
  386. #define GL_EYE_PLANE_ABSOLUTE_NV            0x855c
  387.  
  388. /* NV_texgen_emboss */
  389. #define GL_EMBOSS_LIGHT_NV                  0x855d
  390. #define GL_EMBOSS_CONSTANT_NV               0x855e
  391. #define GL_EMBOSS_MAP_NV                    0x855f
  392.  
  393. /* EXT_light_max_exponent */
  394. #define GL_MAX_SHININESS_EXT                0x8504
  395. #define GL_MAX_SPOT_EXPONENT_EXT            0x8505
  396.  
  397. /* EXT_texture_env_combine */
  398. #define GL_COMBINE_EXT                      0x8570
  399. #define GL_COMBINE_RGB_EXT                  0x8571
  400. #define GL_COMBINE_ALPHA_EXT                0x8572
  401. #define GL_RGB_SCALE_EXT                    0x8573
  402. #define GL_ADD_SIGNED_EXT                   0x8574
  403. #define GL_INTERPOLATE_EXT                  0x8575
  404. #define GL_CONSTANT_EXT                     0x8576
  405. #define GL_PRIMARY_COLOR_EXT                0x8577
  406. #define GL_PREVIOUS_EXT                     0x8578
  407. #define GL_SOURCE0_RGB_EXT                  0x8580
  408. #define GL_SOURCE1_RGB_EXT                  0x8581
  409. #define GL_SOURCE2_RGB_EXT                  0x8582
  410. #define GL_SOURCE0_ALPHA_EXT                0x8588
  411. #define GL_SOURCE1_ALPHA_EXT                0x8589
  412. #define GL_SOURCE2_ALPHA_EXT                0x858A
  413. #define GL_OPERAND0_RGB_EXT                 0x8590
  414. #define GL_OPERAND1_RGB_EXT                 0x8591
  415. #define GL_OPERAND2_RGB_EXT                 0x8592
  416. #define GL_OPERAND0_ALPHA_EXT               0x8598
  417. #define GL_OPERAND1_ALPHA_EXT               0x8599
  418. #define GL_OPERAND2_ALPHA_EXT               0x859A
  419.  
  420. /* NV_texture_env_combine4 */
  421. #define GL_COMBINE4_NV                      0x8503
  422. #define GL_SOURCE3_RGB_NV                   0x8583
  423. #define GL_SOURCE3_ALPHA_NV                 0x858B
  424. #define GL_OPERAND3_RGB_NV                  0x8593
  425. #define GL_OPERAND3_ALPHA_NV                0x859B
  426.  
  427. /* EXT_texture_filter_anisotropic */
  428. #define GL_TEXTURE_MAX_ANISOTROPY_EXT       0x84fe
  429. #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT   0x84ff
  430.  
  431. /* EXT_texture_lod_bias */
  432. #define GL_MAX_TEXTURE_LOD_BIAS_EXT         0x84fd
  433. #define GL_TEXTURE_FILTER_CONTROL_EXT       0x8500
  434. #define GL_TEXTURE_LOD_BIAS_EXT             0x8501
  435.  
  436. /*************************************************************/
  437.  
  438. #ifdef _WIN32
  439.  
  440. /* This is from Win32's <windef.h> */
  441. # ifndef APIENTRY
  442. #  define GLEXT_APIENTRY_DEFINED
  443. #  if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED)
  444. #   define APIENTRY    __stdcall
  445. #  else
  446. #   define APIENTRY
  447. #  endif
  448. # endif
  449.  
  450. /* EXT_vertex_array */
  451. typedef void (APIENTRY * PFNGLARRAYELEMENTEXTPROC) (GLint i);
  452. typedef void (APIENTRY * PFNGLCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
  453. typedef void (APIENTRY * PFNGLDRAWARRAYSEXTPROC) (GLenum mode, GLint first, GLsizei count);
  454. typedef void (APIENTRY * PFNGLEDGEFLAGPOINTEREXTPROC) (GLsizei stride, GLsizei count, const GLboolean *pointer);
  455. typedef void (APIENTRY * PFNGLGETPOINTERVEXTPROC) (GLenum pname, GLvoid* *params);
  456. typedef void (APIENTRY * PFNGLINDEXPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
  457. typedef void (APIENTRY * PFNGLNORMALPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
  458. typedef void (APIENTRY * PFNGLTEXCOORDPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
  459. typedef void (APIENTRY * PFNGLVERTEXPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
  460.  
  461. /* EXT_color_subtable */
  462. typedef void (APIENTRY * PFNGLCOLORSUBTABLEEXTPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *table);
  463.  
  464. /* EXT_color_table */
  465. typedef void (APIENTRY * PFNGLCOLORTABLEEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
  466. typedef void (APIENTRY * PFNGLCOPYCOLORTABLEEXTPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
  467. typedef void (APIENTRY * PFNGLGETCOLORTABLEEXTPROC) (GLenum target, GLenum format, GLenum type, GLvoid *table);
  468. typedef void (APIENTRY * PFNGLGETCOLORTABLEPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);
  469. typedef void (APIENTRY * PFNGLGETCOLORTABLEPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
  470.  
  471. /* EXT_compiled_vertex_array */
  472. typedef void (APIENTRY * PFNGLLOCKARRAYSEXTPROC) (GLint first, GLsizei count);
  473. typedef void (APIENTRY * PFNGLUNLOCKARRAYSEXTPROC) (void);
  474.  
  475. /* WIN_swap_hint */
  476. typedef void (APIENTRY * PFNGLADDSWAPHINTRECTWINPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
  477.  
  478. /* EXT_point_parameter */
  479. typedef void (APIENTRY * PFNGLPOINTPARAMETERFEXTPROC) (GLenum pname, GLfloat param);
  480. typedef void (APIENTRY * PFNGLPOINTPARAMETERFVEXTPROC) (GLenum pname, const GLfloat *params);
  481.  
  482. /* ARB_multitexture */
  483. typedef void (APIENTRY * PFNGLMULTITEXCOORD1DARBPROC) (GLenum target, GLdouble s);
  484. typedef void (APIENTRY * PFNGLMULTITEXCOORD1DVARBPROC) (GLenum target, const GLdouble *v);
  485. typedef void (APIENTRY * PFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s);
  486. typedef void (APIENTRY * PFNGLMULTITEXCOORD1FVARBPROC) (GLenum target, const GLfloat *v);
  487. typedef void (APIENTRY * PFNGLMULTITEXCOORD1IARBPROC) (GLenum target, GLint s);
  488. typedef void (APIENTRY * PFNGLMULTITEXCOORD1IVARBPROC) (GLenum target, const GLint *v);
  489. typedef void (APIENTRY * PFNGLMULTITEXCOORD1SARBPROC) (GLenum target, GLshort s);
  490. typedef void (APIENTRY * PFNGLMULTITEXCOORD1SVARBPROC) (GLenum target, const GLshort *v);
  491. typedef void (APIENTRY * PFNGLMULTITEXCOORD2DARBPROC) (GLenum target, GLdouble s, GLdouble t);
  492. typedef void (APIENTRY * PFNGLMULTITEXCOORD2DVARBPROC) (GLenum target, const GLdouble *v);
  493. typedef void (APIENTRY * PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t);
  494. typedef void (APIENTRY * PFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat *v);
  495. typedef void (APIENTRY * PFNGLMULTITEXCOORD2IARBPROC) (GLenum target, GLint s, GLint t);
  496. typedef void (APIENTRY * PFNGLMULTITEXCOORD2IVARBPROC) (GLenum target, const GLint *v);
  497. typedef void (APIENTRY * PFNGLMULTITEXCOORD2SARBPROC) (GLenum target, GLshort s, GLshort t);
  498. typedef void (APIENTRY * PFNGLMULTITEXCOORD2SVARBPROC) (GLenum target, const GLshort *v);
  499. typedef void (APIENTRY * PFNGLMULTITEXCOORD3DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
  500. typedef void (APIENTRY * PFNGLMULTITEXCOORD3DVARBPROC) (GLenum target, const GLdouble *v);
  501. typedef void (APIENTRY * PFNGLMULTITEXCOORD3FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
  502. typedef void (APIENTRY * PFNGLMULTITEXCOORD3FVARBPROC) (GLenum target, const GLfloat *v);
  503. typedef void (APIENTRY * PFNGLMULTITEXCOORD3IARBPROC) (GLenum target, GLint s, GLint t, GLint r);
  504. typedef void (APIENTRY * PFNGLMULTITEXCOORD3IVARBPROC) (GLenum target, const GLint *v);
  505. typedef void (APIENTRY * PFNGLMULTITEXCOORD3SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
  506. typedef void (APIENTRY * PFNGLMULTITEXCOORD3SVARBPROC) (GLenum target, const GLshort *v);
  507. typedef void (APIENTRY * PFNGLMULTITEXCOORD4DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
  508. typedef void (APIENTRY * PFNGLMULTITEXCOORD4DVARBPROC) (GLenum target, const GLdouble *v);
  509. typedef void (APIENTRY * PFNGLMULTITEXCOORD4FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
  510. typedef void (APIENTRY * PFNGLMULTITEXCOORD4FVARBPROC) (GLenum target, const GLfloat *v);
  511. typedef void (APIENTRY * PFNGLMULTITEXCOORD4IARBPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
  512. typedef void (APIENTRY * PFNGLMULTITEXCOORD4IVARBPROC) (GLenum target, const GLint *v);
  513. typedef void (APIENTRY * PFNGLMULTITEXCOORD4SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
  514. typedef void (APIENTRY * PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLshort *v);
  515. typedef void (APIENTRY * PFNGLACTIVETEXTUREARBPROC) (GLenum target);
  516. typedef void (APIENTRY * PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum target);
  517.  
  518. /* SGIS_multitexture */
  519. typedef void (APIENTRY * PFNGLMULTITEXCOORD1DSGISPROC) (GLenum target, GLdouble s);
  520. typedef void (APIENTRY * PFNGLMULTITEXCOORD1DVSGISPROC) (GLenum target, const GLdouble *v);
  521. typedef void (APIENTRY * PFNGLMULTITEXCOORD1FSGISPROC) (GLenum target, GLfloat s);
  522. typedef void (APIENTRY * PFNGLMULTITEXCOORD1FVSGISPROC) (GLenum target, const GLfloat *v);
  523. typedef void (APIENTRY * PFNGLMULTITEXCOORD1ISGISPROC) (GLenum target, GLint s);
  524. typedef void (APIENTRY * PFNGLMULTITEXCOORD1IVSGISPROC) (GLenum target, const GLint *v);
  525. typedef void (APIENTRY * PFNGLMULTITEXCOORD1SSGISPROC) (GLenum target, GLshort s);
  526. typedef void (APIENTRY * PFNGLMULTITEXCOORD1SVSGISPROC) (GLenum target, const GLshort *v);
  527. typedef void (APIENTRY * PFNGLMULTITEXCOORD2DSGISPROC) (GLenum target, GLdouble s, GLdouble t);
  528. typedef void (APIENTRY * PFNGLMULTITEXCOORD2DVSGISPROC) (GLenum target, const GLdouble *v);
  529. typedef void (APIENTRY * PFNGLMULTITEXCOORD2FSGISPROC) (GLenum target, GLfloat s, GLfloat t);
  530. typedef void (APIENTRY * PFNGLMULTITEXCOORD2FVSGISPROC) (GLenum target, const GLfloat *v);
  531. typedef void (APIENTRY * PFNGLMULTITEXCOORD2ISGISPROC) (GLenum target, GLint s, GLint t);
  532. typedef void (APIENTRY * PFNGLMULTITEXCOORD2IVSGISPROC) (GLenum target, const GLint *v);
  533. typedef void (APIENTRY * PFNGLMULTITEXCOORD2SSGISPROC) (GLenum target, GLshort s, GLshort t);
  534. typedef void (APIENTRY * PFNGLMULTITEXCOORD2SVSGISPROC) (GLenum target, const GLshort *v);
  535. typedef void (APIENTRY * PFNGLMULTITEXCOORD3DSGISPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
  536. typedef void (APIENTRY * PFNGLMULTITEXCOORD3DVSGISPROC) (GLenum target, const GLdouble *v);
  537. typedef void (APIENTRY * PFNGLMULTITEXCOORD3FSGISPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
  538. typedef void (APIENTRY * PFNGLMULTITEXCOORD3FVSGISPROC) (GLenum target, const GLfloat *v);
  539. typedef void (APIENTRY * PFNGLMULTITEXCOORD3ISGISPROC) (GLenum target, GLint s, GLint t, GLint r);
  540. typedef void (APIENTRY * PFNGLMULTITEXCOORD3IVSGISPROC) (GLenum target, const GLint *v);
  541. typedef void (APIENTRY * PFNGLMULTITEXCOORD3SSGISPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
  542. typedef void (APIENTRY * PFNGLMULTITEXCOORD3SVSGISPROC) (GLenum target, const GLshort *v);
  543. typedef void (APIENTRY * PFNGLMULTITEXCOORD4DSGISPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
  544. typedef void (APIENTRY * PFNGLMULTITEXCOORD4DVSGISPROC) (GLenum target, const GLdouble *v);
  545. typedef void (APIENTRY * PFNGLMULTITEXCOORD4FSGISPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
  546. typedef void (APIENTRY * PFNGLMULTITEXCOORD4FVSGISPROC) (GLenum target, const GLfloat *v);
  547. typedef void (APIENTRY * PFNGLMULTITEXCOORD4ISGISPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
  548. typedef void (APIENTRY * PFNGLMULTITEXCOORD4IVSGISPROC) (GLenum target, const GLint *v);
  549. typedef void (APIENTRY * PFNGLMULTITEXCOORD4SSGISPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
  550. typedef void (APIENTRY * PFNGLMULTITEXCOORD4SVSGISPROC) (GLenum target, const GLshort *v);
  551. typedef void (APIENTRY * PFNGLMULTITEXCOORDPOINTERSGISPROC) (GLenum target, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
  552. typedef void (APIENTRY * PFNGLSELECTTEXTURESGISPROC) (GLenum target);
  553. typedef void (APIENTRY * PFNGLSELECTTEXTURECOORDSETSGISPROC) (GLenum target);
  554.  
  555. /* EXT_vertex_weighting */
  556. typedef void (APIENTRY * PFNGLVERTEXWEIGHTFEXTPROC) (GLfloat weight);
  557. typedef void (APIENTRY * PFNGLVERTEXWEIGHTFVEXTPROC) (const GLfloat *weight);
  558. typedef void (APIENTRY * PFNGLVERTEXWEIGHTPOINTEREXTPROC) (GLsizei size, GLenum type, GLsizei stride, const GLvoid *pointer);
  559.  
  560. /* EXT_blend_color */
  561. typedef void (APIENTRY * PFNGLBLENDCOLOREXTPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
  562.  
  563. /* EXT_blend_minmax */
  564. typedef void (APIENTRY * PFNGLBLENDEQUATIONEXTPROC) (GLenum mode);
  565.  
  566. /* EXT_fog_coord */
  567. typedef void (APIENTRY * PFNGLFOGCOORDDEXTPROC) (GLdouble fog);
  568. typedef void (APIENTRY * PFNGLFOGCOORDDVEXTPROC) (const GLdouble *fog);
  569. typedef void (APIENTRY * PFNGLFOGCOORDFEXTPROC) (GLfloat fog);
  570. typedef void (APIENTRY * PFNGLFOGCOORDFVEXTPROC) (const GLfloat *fog);
  571. typedef void (APIENTRY * PFNGLFOGCOORDPOINTEREXTPROC) (GLsizei size, GLenum type, GLsizei stride, const GLvoid *pointer);
  572.  
  573. /* EXT_secondary_color */
  574. typedef void (APIENTRY * PFNGLSECONDARYCOLOR3BEXTPROC) (GLbyte red, GLbyte green, GLbyte blue);
  575. typedef void (APIENTRY * PFNGLSECONDARYCOLOR3BVEXTPROC) (const GLbyte *v);
  576. typedef void (APIENTRY * PFNGLSECONDARYCOLOR3DEXTPROC) (GLdouble red, GLdouble green, GLdouble blue);
  577. typedef void (APIENTRY * PFNGLSECONDARYCOLOR3DVEXTPROC) (const GLdouble *v);
  578. typedef void (APIENTRY * PFNGLSECONDARYCOLOR3FEXTPROC) (GLfloat red, GLfloat green, GLfloat blue);
  579. typedef void (APIENTRY * PFNGLSECONDARYCOLOR3FVEXTPROC) (const GLfloat *v);
  580. typedef void (APIENTRY * PFNGLSECONDARYCOLOR3IEXTPROC) (GLint red, GLint green, GLint blue);
  581. typedef void (APIENTRY * PFNGLSECONDARYCOLOR3IVEXTPROC) (const GLint *v);
  582. typedef void (APIENTRY * PFNGLSECONDARYCOLOR3SEXTPROC) (GLshort red, GLshort green, GLshort blue);
  583. typedef void (APIENTRY * PFNGLSECONDARYCOLOR3SVEXTPROC) (const GLshort *v);
  584. typedef void (APIENTRY * PFNGLSECONDARYCOLOR3UBEXTPROC) (GLubyte red, GLubyte green, GLubyte blue);
  585. typedef void (APIENTRY * PFNGLSECONDARYCOLOR3UBVEXTPROC) (const GLubyte *v);
  586. typedef void (APIENTRY * PFNGLSECONDARYCOLOR3UIEXTPROC) (GLuint red, GLuint green, GLuint blue);
  587. typedef void (APIENTRY * PFNGLSECONDARYCOLOR3UIVEXTPROC) (const GLuint *v);
  588. typedef void (APIENTRY * PFNGLSECONDARYCOLOR3USEXTPROC) (GLushort red, GLushort green, GLushort blue);
  589. typedef void (APIENTRY * PFNGLSECONDARYCOLOR3USVEXTPROC) (const GLushort *v);
  590. typedef void (APIENTRY * PFNGLSECONDARYCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
  591.  
  592. /* NV_vertex_array_range */
  593. typedef void (APIENTRY * PFNGLFLUSHVERTEXARRAYRANGENVPROC) (void);
  594. typedef void (APIENTRY * PFNGLVERTEXARRAYRANGENVPROC) (GLsizei size, const GLvoid *pointer);
  595. typedef GLvoid* (APIENTRY * PFNWGLALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);
  596. typedef void (APIENTRY * PFNWGLFREEMEMORYNVPROC) (GLvoid *pointer);
  597.  
  598. /* NV_register_combiners */
  599. typedef void (APIENTRY * PFNGLCOMBINERPARAMETERFVNVPROC) (GLenum pname, const GLfloat *params);
  600. typedef void (APIENTRY * PFNGLCOMBINERPARAMETERFNVPROC) (GLenum pname, GLfloat param);
  601. typedef void (APIENTRY * PFNGLCOMBINERPARAMETERIVNVPROC) (GLenum pname, const GLint *params);
  602. typedef void (APIENTRY * PFNGLCOMBINERPARAMETERINVPROC) (GLenum pname, GLint param);
  603. typedef void (APIENTRY * PFNGLCOMBINERINPUTNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
  604. typedef void (APIENTRY * PFNGLCOMBINEROUTPUTNVPROC) (GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum);
  605. typedef void (APIENTRY * PFNGLFINALCOMBINERINPUTNVPROC) (GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
  606. typedef void (APIENTRY * PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params);
  607. typedef void (APIENTRY * PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params);
  608. typedef void (APIENTRY * PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLfloat *params);
  609. typedef void (APIENTRY * PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLint *params);
  610. typedef void (APIENTRY * PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC) (GLenum variable, GLenum pname, GLfloat *params);
  611. typedef void (APIENTRY * PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC) (GLenum variable, GLenum pname, GLint *params);
  612.  
  613. /* WGL_EXT_swap_control */
  614. typedef int (APIENTRY * PFNWGLSWAPINTERVALEXTPROC) (int);
  615. typedef int (APIENTRY * PFNWGLGETSWAPINTERVALEXTPROC) (void);
  616.  
  617. # ifdef GLEXT_APIENTRY_DEFINED
  618. #  undef GLEXT_APIENTRY_DEFINED
  619. #  undef APIENTRY
  620. # endif
  621.  
  622. #endif
  623.  
  624. #ifdef __cplusplus
  625. }
  626. #endif
  627.  
  628. #endif /* __gl_h_ */
  629.